﻿/*
 * 该文件中用来表示设置按钮的弹出窗口
 */
#ifndef SETTINGDIALOG_H
#define SETTINGDIALOG_H

#include <QObject>
#include <QWidget>
#include <QDialog>
#include <QPushButton>
#include <QHBoxLayout>
#include <ENUM/enum.h>
#include <QCoreApplication>

#include "XML/XmlFunc.h"
/*
 * 设置按钮的对话框
 */
class SettingDialog : public QDialog
{
    Q_OBJECT
public:
    /**
     @interpret 用于SettingDialog的构造函数(这里设置参数方便程序初始化读取相关配置文件并初始化程序相关接口(主要用于记忆用户上次修改时记录，避免每次修改))
     @param  ShowMode: 初始化需要显示的模式;language: 初始化程序的语言
     */
    SettingDialog(ShowMode ShowMode = ShowMode::DAY, Language language = Language::Chinese);
private:
    Language m_NowLanguage;          // 当前程序显示语言
    ShowMode m_ShowMode;             // 当前的显示模式（黑夜或者白天）
    QPushButton* m_LanguageBtn;      // 切换语言按钮
    QPushButton* m_ShowModeBtn;      // 修改显示方式的按钮
    QHBoxLayout* m_Layout;           // 当前窗口对应布局
    // QString m_xmlPath;               // 程序xml文件路径
signals:
    void senderLanguage(Language);
    void senderShowMode(ShowMode);
};

#endif // SETTINGDIALOG_H
